System.register([], function () {
	'use strict';
	return {
		execute: function () {

			class GlobalSuper extends GlobalClass {}
			const globalSuper = new GlobalSuper();

			class SideEffectSuper extends (() => {
				console.log( 'effect' );
				return class {};
			})() {
			}

			class SuperConstructorEffect {
				constructor () {
					console.log( 'effect' );
				}
			}
			class SideEffectsSuperConstructor1 extends SuperConstructorEffect {}
			const sideEffectsSuperConstructor1 = new SideEffectsSuperConstructor1();

			class SideEffectsSuperConstructor2 extends SuperConstructorEffect {
				constructor () {
					super();
				}
			}
			const sideEffectsSuperConstructor2 = new SideEffectsSuperConstructor2();

			class SuperMethodEffect {
				effect () {
					console.log( 'effect' );
				}
			}
			class SideEffectsSuperMethod extends SuperMethodEffect {
				constructor () {
					super();
					super.effect();
				}
			}
			const sideEffectsSuperMethod = new SideEffectsSuperMethod();

		}
	};
});
